home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
gnu
/
amiga
/
make-367.lha
/
make-3.67
/
README
< prev
Wrap
Text File
|
1993-05-24
|
6KB
|
134 lines
GNU Make v3.67 for the Amiga
============================
Short: Amiga port of GNU Make 3.67
1. Contents of this archive:
libs (dir)
ixemul.library
COPYING.LIB
glob (dir)
Makefile
bin (dir)
make
build.sh
config.h
config.status
COPYING
make.diff
Makefile
README
2. Installation
Just copy bin/make to a place in your path (e.g. BIN:) and
libs/ixemul.library to LIBS:. You will not be able to run make nor
recompile without ixemul.library! The library was created by Markus Wild
(<wild@nessie.cs.id.ethz.ch>) and provides emulation of *NIX
kernel/system functions (again credits where credits belong: Thank you
Markus, thank you!).
NOTE: GNU make and ixemul.library are FREE software. Please refer to
libs/COPYING.LIB for copyright stuff concerning the library and COPYING
for the GNU GENERAL PUBLIC LICENSE. The library source is available via
anonymous ftp from amiga.physik.unizh.ch and mirrors.
Currently, the vfork() system call from ixemul.library, as utilized by
GNU make, requires OS2.x. I have not been able to test make under 1.x,
it *might* work, but will certainly not if vfork() is invoked. Full
functionality is available at least under 2.x. With 3.0, however, there
should be no problems, but I couldn't test that, too.
3. Recompile
Source and documentation of GNU make-3.67 are available via anonymous
ftp from various sites, most probably from the site you got this archive
from. Please check make.diff for modifications! Eg. you will probably
want to adjust the stuff around INCLUDEDIR and LIBDIR in read.c and
remake.c if your gcc: tree layout diverges from the standard one.
There are several ways to recompile:
- use 'config.status' to recreate 'build.sh' and the Makefiles
> sh config.status
- use 'build.sh' in the current dir to rebuild 'make' without a
make-tool
> sh build.sh
- use the original 'configure' shell script:
> sh configure
- use 'bin/make' or your (up to now) favorite make-tool and the
included Makefiles :); ./Makefile might need editing for correct
pathes and binaries on your machine
Except for the last possibility the following binaries are required in
your path, which are available from the gcc-release, SKsh, pdksh, GNU
file- and textutils, GNU-grep etc.: sh, rm, tr, chmod, sed, cat,
egrep, grep, mv, gcc/v.
HINT: if you have an 'install'-programm in your path (e.g from
GNU-fileutils), please rename ./INSTALL to something (completely :))
different; if the current directory is in your path before the
location the 'install'-programm resides, 'configure' inserts ./INSTALL
as install-programm, because AmigaOS is not case-sensitive. Also
beware of C:Install!
If sh cannot find your binaries: '"set" or "setenv" PATH <where the
bins reside>' (you could also recompile pdksh with your preferred path
builtin).
IMPORTANT: check make.diff for the modifications to the
'configure'-script. It will only work with gccv instead of gcc!
The created 'config.h' will contain some wrong '#define's' and needs
editing by hand. I have no idea if this arises from the pdksh or is a
deficiency of 'configure'. So check carefully or use the included
config.h!
4. Documentation
There are no docs included. Full documentation is available via
anonymous ftp (make-doc-3.67.tar.z). Using 'makeinfo' from AmigaLibDisk
787 with 'make.texinfo' from the original 'make-3.67.tar.z'-archive you
can create a plain ASCII-file, a 'TeX'-ed documentation, the
make.info-?-files for use with InfoView or even an AmigaGuide-style
docfile.
GNU make offers several features not provided by other make utilities:
- recursive make (descending directory trees, make, ascend)
- multiple concurrent make jobs (really works, but needs LOTS of ram!)
- a lot of additional implicit rules
5. Hints (Hi Rainer and Ed!)
- RAM, RAM, RAM and more RAM! Using make recursively on nested
directories, such as often found inside GNU-distributions, usually
requires several MB of RAM (several > 5, usually). Eg., when
compiling groff or libg++, at some point of execution you may find two
or more instances of each make and pdksh running concurrently,
additionally to the compilers. Since gcc requires at least around 250k
of stack you must have set your current shell's stack to that value.
Unfortunately, *all* of the executables started by make will have that
large stack allocated, resulting in 1--3 MB of RAM for stack only! To
save you some RAM, it might be exciting to find out how *small* the
stacksize may be but have gcc still working ... :). Maybe GigaMem or
something similar provides you a satisfactory solution. I have tried
'Virtual' from the german 'Amiga-Magazin' PD-Disk, but this does not
seem to work orderly when using 'gccv -pipe' and the subcompilers
resident'ed.
- make starts it's subprocesses via pdksh. Therefore it is very useful
to have 'sh' resident.
- To save some memory when using make recursively I tried to compile
'make' with '-resident'; it compiled properly, but the resulting
binary ignored all command line options and was likely to meet the
guru. Any idea on this?
Send bugs, comments, needles and pins, Them Bones, A5000's to
<st000002@hrz1.hrz.th-darmstadt.de>
And, as always, have fun! (>;-))
Lars Hecking